package cn.jxau.qt.core.dao.impl;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;

import cn.jxau.qt.core.dao.IBaseDao;

//dao层通用crud操作
public class BaseDaoImpl<T> implements IBaseDao<T> {

	// 当前操作的实际类的bean类型

	private Class<T> clazz; // 获取类名称 private String className;

	// 反射泛型
	// 获取类名称
	private String className;

	@SuppressWarnings("unchecked")
	public BaseDaoImpl() {
		Type type = this.getClass().getGenericSuperclass();
		// 转换为参数类型
		ParameterizedType pt = (ParameterizedType) type;
		// 得到实际类型
		Type types[] = pt.getActualTypeArguments();
		// 获取实际类型
		clazz = (Class<T>) types[0];
		className = clazz.getSimpleName();

	}

	@Override
	public void save(T t) {
		// TODO Auto-generated method stub

	}

	@Override
	public void update(T t) {
		// TODO Auto-generated method stub

	}

	@Override
	public void delete(int id) {
		// TODO Auto-generated method stub

	}

	@Override
	public T findObjectById(int id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<T> getAllObjects() {
		// TODO Auto-generated method stub
		return null;
	}

}
